// pages/game/game.js
Page({

  data: {
    //获胜次数
    winNum: 0,
    //结果
    result: '',
    //用户选择的图片
    userSrc: '',
    //电脑随机图片
    computerSrc: '',
    //再来一次按钮是否可用
    isAgain: false,
    //定时器标识符，方便清除定时器
    timer: null,
    //电脑随机滚动的下标
    currentIdx: 0,
    //图片数组存放
    Srcs: [
      '/images/shitou.png',
      '/images/jiandao.png',
      '/images/bu.jpg'
    ]

  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    //首先进入这个页面就开启计时器
    this.data.timer = setInterval(this.changeSrc, 100)
  },

  // 改变图片路径的方法
  changeSrc() {
    //st-jd-b --  st-jd-b
    // 电脑随机滚动的下标 currentIdx  0 1 2 0 1 2
    this.data.currentIdx++
    // 分支控制判断
    if (this.data.currentIdx > 2) {
      this.data.currentIdx = 0
    }
    //电脑的随机图片
    this.setData({
      computerSrc: this.data.Srcs[this.data.currentIdx]
    })
  },

  doChoose(e) {
    if (!this.data.isAgain) {
      console.log('判断结果')
      //清除定时器（停止滚动）就是电脑随机停止
      clearInterval(this.data.timer)
      //2.用户选择图片位置 获取用户点击图片
      // console.log(e)
      //声明用户选择id变量 图片Id赋值给userChooseId
      const userChooseId = e.target.dataset.imageId
      console.log(e.target.dataset)

      //判断结果（3分支）赢 平 输
      let currentWinNum = this.data.winNum
      let currentResult = ''
      //用户 vs 机器 比较
      if ((userChooseId == 0 && this.data.currentIdx == 1) || (userChooseId == 1 && this.data.currentIdx == 2) || (userChooseId == 2 && this.data.currentIdx == 0)) {
        //显示赢的结果 winNum+1
        currentWinNum = this.data.winNum + 1
        currentResult = '你赢了'
      } else if (userChooseId == this.data.currentIdx) {
        //显示平局
        currentResult = '平局,再来一次吧'
      } else {
        //输出结果
        currentResult = '你输了'
      }
      this.setData({
        userSrc: this.data.Srcs[userChooseId],
        winNum: currentWinNum,
        result: currentResult
      })
      console.log(this.data.Srcs[userChooseId])
      this.data.isAgain = true
    }
  },

  //再来一次按钮
  doAgain() {
    if (this.data.isAgain) {
      // 开启定时器
      this.data.timer = setInterval(this.changeSrc, 100)
      //重置图片区内容
      this.setData({
        result: '',
        userSrc: ''
      })
      //重置flag
      this.data.isAgain = false
    }
  },
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})